package com.example.demo.util.converters;

import java.util.HashMap;
import java.util.Map;

/**
 * @author 陈浩
 * @date 2021/1/9 14:32
 */
public class ConverterKeyBuild {
    private static final Map<String, String> BOXING_MAP = new HashMap(16);

    public ConverterKeyBuild() {
    }

    public static String buildKey(Class clazz) {
        String className = clazz.getName();
        String boxingClassName = (String)BOXING_MAP.get(clazz.getName());
        return boxingClassName == null ? className : boxingClassName;
    }

    static {
        BOXING_MAP.put(Integer.TYPE.getName(), Integer.class.getName());
        BOXING_MAP.put(Byte.TYPE.getName(), Byte.class.getName());
        BOXING_MAP.put(Long.TYPE.getName(), Long.class.getName());
        BOXING_MAP.put(Double.TYPE.getName(), Double.class.getName());
        BOXING_MAP.put(Float.TYPE.getName(), Float.class.getName());
        BOXING_MAP.put(Character.TYPE.getName(), Character.class.getName());
        BOXING_MAP.put(Short.TYPE.getName(), Short.class.getName());
        BOXING_MAP.put(Boolean.TYPE.getName(), Boolean.class.getName());
    }
}
